# -*- coding: utf-8 -*-

# 1.搜索面包；（8分）
# 2.获取面包信息
# 1.	获取该页的商品名称（8分）
# 2.	获取所有商品的图片（8分）
# 3.	获取所有商品的链接（8分）
# 4.	获取所有商品的价格（8分）
# 3.进入一个商品的详情页
# 1.	获取商品的口味（8分）
# 2.	获取商品的图片（8分）
# 3.	获取商品的价格（8分）
# 4.	获取商品的简介（8分）
# 5.	获取商品的评论数（8分）
# 4.入库
# 1.	连接MongoDB（5分）
# 2.	连接mysql（5分）
# 3.	数据入MongoDB库（5分）
# 4.	数据入mysql库（5分）

import scrapy, re
from ..items import JingdongItem


class MianbaoSpider(scrapy.Spider):
    name = 'mianbao'
    start_urls = [
        'https://search.jd.com/Search?keyword=%E9%9D%A2%E5%8C%85&enc=utf-8&wq=%E9%9D%A2%E5%8C%85&pvid=38922ff135614edc98c51e6af4ad4d09',
        'https://search.jd.com/s_new.php?keyword=%E9%9D%A2%E5%8C%85&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&wq=%E9%9D%A2%E5%8C%85&stock=1&page=2&s=31&scrolling=y&log_id=1551400711.42448&tpl=3_M']

    def parse(self, response):
        all_li = response.xpath("//li[@class='gl-item']")
        for li in all_li:
            title = li.xpath(".//div[@class='p-name p-name-type-2']/a/em/text()")[0].extract()
            image = 'https:' + li.xpath(".//div[@class='p-img']/a/img/@source-data-lazy-img")[0].extract()
            href = 'https:' + li.xpath(".//div[@class='p-name p-name-type-2']/a/@href")[0].extract()
            price = li.xpath(".//div[@class='p-price']/strong/i/text()")[0].extract()
            item = JingdongItem()
            item['title'] = title
            item['image'] = image
            item['href'] = href
            item['price'] = price
            yield scrapy.Request(url=href, callback=self.parse_xq, meta={'item': item})

    def parse_xq(self, response):
        item = response.meta['item']
        kouweis = re.findall("口味：(.*?)<", response.text, re.S)
        if len(kouweis) == 0:
            kouwei = '无'
        else:
            kouwei = kouweis[0]
        tupian = 'https:' + response.xpath("//img[@id='spec-img']/@data-origin")[0].extract()
        jiage = item['price']
        jianjies = response.xpath("string(//ul[@class='parameter2 p-parameter-list'])")[0].extract().split(' ')
        jianjie = ' '.join([i for i in jianjies if i != '']).replace('\n', '')
        pinglun = ''
        item['kouwei'] = kouwei
        item['tupian'] = tupian
        item['jiage'] = jiage
        item['jianjie'] = jianjie
        # item['pinglun'] = pinglun
        print(item)
        yield item
